package game;

import java.awt.Point;
/**
 * A <tt>MoveChecker</tt> verifies the validity of a move with rules specific to itself. 
 * For example, <tt>ChessBoard</tt> checks to see if a move is within its own boundaries, 
 * while a <tt>Piece verifies that a move is legal in terms of its allowed movements.
 * 
 * @author Mark Kelly
 * @date February 20, 2010
 * @version 2.0
 */
public interface MoveChecker {
	/**
	 * Checks whether moving a <tt>Piece</tt> to a location is valid in the context of the implementing class.
	 * 
	 * @param piece the piece that is being moved
	 * @param dest the proposed location of the Piece
	 * 
	 * @return <tt>true</tt> if the move is valid
	 */
	boolean isValidMove(Piece piece, Point point);
}
